home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_jvm18.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  42KB  |  2,103 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_jvm.h"
  9. /*No:TMP_NAME.fz_once*/
  10.  
  11.  
  12. T6 r112look_in(T0* a1){
  13. T6 R=0;
  14. T2 _i=0;
  15. _i=(((T73*)a1))->_upper/*8*/;
  16. while (!((R)||((_i)==(0)))) {
  17. R=r7same_as((T7*)(r73item(((T73*)a1),_i)),oBC112tmp_string);
  18. _i=(_i)-(1);
  19. }
  20. return R;
  21. }
  22. /*No:TMP_NAME.fz_old*/
  23. /*No:TMP_NAME.fz_check*/
  24.  
  25.  
  26. T0* r112start_position(T112* C){
  27. T0* R=NULL;
  28. {T59*n=malloc(sizeof(*n));
  29. *n=M59;
  30. r59make(n,(C)->_li/*4*/,(C)->_co/*8*/);
  31. R=(T0*)n;
  32. }
  33. return R;
  34. }
  35.  
  36.  
  37. T0* r112to_string(T112* C){
  38. T0* R=NULL;
  39. /*[IF*/
  40. if(((C)->_unique_string_memory/*0*/)==((void*)(NULL))){
  41. R=r86item(oBC112tmp_string);
  42. C->_unique_string_memory=R;
  43. }
  44. else{
  45. R=(C)->_unique_string_memory/*0*/;
  46. }
  47. /*FI]*/
  48. return R;
  49. }
  50. /*No:TMP_NAME.fz_if*/
  51.  
  52.  
  53. T0* r112to_prefix_name(T112* C){
  54. T0* R=NULL;
  55. {T145*n=malloc(sizeof(*n));
  56. *n=M145;
  57. r145make(n,oBC112tmp_string,r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  58. R=(T0*)n;
  59. }
  60. return R;
  61. }
  62. /*No:TMP_NAME.fz_ensure*/
  63. T0*oBC112keyword_p=NULL;
  64. /*No:TMP_NAME.unique_string_memory*/
  65. /*No:TMP_NAME.fz_frozen*/
  66. /*No:TMP_NAME.fz_do*/
  67. /*No:TMP_NAME.co*/
  68. /*No:TMP_NAME.fz_as*/
  69. /*No:TMP_NAME.li*/
  70. T0*oBC112keyword_u=NULL;
  71. /*No:TMP_NAME.fz_then*/
  72.  
  73.  
  74. T0* r112to_argument_name1(T112* C){
  75. T0* R=NULL;
  76. {T194*n=malloc(sizeof(*n));
  77. *n=M194;
  78. r194make(n,r112pos((C)->_li/*4*/,(C)->_co/*8*/),oBC112tmp_string);
  79. R=(T0*)n;
  80. }
  81. return R;
  82. }
  83.  
  84.  
  85. T0* r112to_infix_name(T0* a1){
  86. T0* R=NULL;
  87. {T141*n=malloc(sizeof(*n));
  88. *n=M141;
  89. r141make(n,oBC112tmp_string,a1);
  90. R=(T0*)n;
  91. }
  92. return R;
  93. }
  94. /*No:TMP_NAME.us_void*/
  95. /*No:TMP_NAME.fz_true*/
  96. /*No:TMP_NAME.extend*/
  97. /*No:TMP_NAME.fz_rename*/
  98. /*No:TMP_NAME.fz_rescue*/
  99. /*No:TMP_NAME.fz_indexing*/
  100. /*No:TMP_NAME.fz_when*/
  101.  
  102.  
  103. T0* r112to_simple_feature_name(T112* C){
  104. T0* R=NULL;
  105. {T151*n=malloc(sizeof(*n));
  106. *n=M151;
  107. r151make(n,oBC112tmp_string,r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  108. R=(T0*)n;
  109. }
  110. return R;
  111. }
  112. /*No:TMP_NAME.fz_is*/
  113. T0*oBC112keyword_l=NULL;
  114.  
  115.  
  116. T6 r112is_result(void){
  117. T6 R=0;
  118. /*[IF*/
  119. if((((T7*)(oBC112tmp_string))->_count/*4*/)==(6)){
  120. R=r7same_as((T7*)(((T0*)ms14_7404)),oBC112tmp_string);
  121. }
  122. /*FI]*/
  123. return R;
  124. }
  125. /*No:TMP_NAME.fz_elseif*/
  126.  
  127.  
  128. T0* r112to_local_name1(T112* C){
  129. T0* R=NULL;
  130. {T187*n=malloc(sizeof(*n));
  131. *n=M187;
  132. r187make(n,r112pos((C)->_li/*4*/,(C)->_co/*8*/),oBC112tmp_string);
  133. R=(T0*)n;
  134. }
  135. return R;
  136. }
  137. /*No:TMP_NAME.fz_feature*/
  138. /*No:TMP_NAME.fz_debug*/
  139. /*No:TMP_NAME.fz_creation*/
  140. T0*oBC112keyword_c=NULL;
  141. /*No:TMP_NAME.fz_select*/
  142. /*No:TMP_NAME.fz_loop*/
  143. /*No:TMP_NAME.fz_obsolete*/
  144. /*No:TMP_NAME.us_or*/
  145. /*No:TMP_NAME.count*/
  146. /*No:TMP_NAME.fz_alias*/
  147. /*No:TMP_NAME.fz_expanded*/
  148. /*No:TMP_NAME.make*/
  149.  
  150.  
  151. T6 r112is_current(void){
  152. T6 R=0;
  153. /*[IF*/
  154. if((((T7*)(oBC112tmp_string))->_count/*4*/)==(7)){
  155. R=r7same_as((T7*)(((T0*)ms14_9380)),oBC112tmp_string);
  156. }
  157. /*FI]*/
  158. return R;
  159. }
  160. /*No:TMP_NAME.us_implies*/
  161. /*No:TMP_NAME.fz_class*/
  162. /*No:TMP_NAME.fz_strip*/
  163. /*No:TMP_NAME.fz_prefix*/
  164. /*No:TMP_NAME.fz_infix*/
  165.  
  166.  
  167. T0* r112to_infix_name_use(T112* C){
  168. T0* R=NULL;
  169. {T141*n=malloc(sizeof(*n));
  170. *n=M141;
  171. r141make(n,oBC112tmp_string,r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  172. R=(T0*)n;
  173. }
  174. return R;
  175. }
  176. /*No:TMP_NAME.fz_unique*/
  177. T0*oBC112tmp_string=NULL;
  178. /*No:TMP_NAME.fz_export*/
  179. T0*oBC112keyword_r=NULL;
  180. /*No:TMP_NAME.us_precursor*/
  181. /*No:TMP_NAME.fz_variant*/
  182. /*No:TMP_NAME.fz_inherit*/
  183. /*No:TMP_NAME.fz_inspect*/
  184. /*No:TMP_NAME.fz_local*/
  185. /*No:TMP_NAME.us_result*/
  186. T0*oBC112keyword_d=NULL;
  187. /*No:TMP_NAME.fz_all*/
  188. /*No:TMP_NAME.fz_redefine*/
  189.  
  190.  
  191. T0* r112to_tag_name(T112* C){
  192. T0* R=NULL;
  193. {T110*n=malloc(sizeof(*n));
  194. *n=M110;
  195. r110make(n,oBC112tmp_string,r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  196. R=(T0*)n;
  197. }
  198. return R;
  199. }
  200. /*No:TMP_NAME.fz_separate*/
  201.  
  202.  
  203. T0* r112to_e_void(T112* C){
  204. T0* R=NULL;
  205. {T160*n=malloc(sizeof(*n));
  206. *n=M160;
  207. /*[IRF3.3make*/((((T160*)(n)))->_start_position)=(r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  208. /*]*/
  209. R=(T0*)n;
  210. }
  211. return R;
  212. }
  213. /*No:TMP_NAME.fz_require*/
  214. T0*oBC112keyword_i=NULL;
  215. /*No:TMP_NAME.fz_retry*/
  216. /*No:TMP_NAME.us_xor*/
  217. /*No:TMP_NAME.fz_invariant*/
  218.  
  219.  
  220. T0* r112pos(T2 a1,T2 a2){
  221. T0* R=NULL;
  222. {T59*n=malloc(sizeof(*n));
  223. *n=M59;
  224. r59make(n,a1,a2);
  225. R=(T0*)n;
  226. }
  227. return R;
  228. }
  229. /*No:TMP_NAME.fz_until*/
  230. T0*oBC112keyword_s=NULL;
  231. /*No:TMP_NAME.us_current*/
  232. T0*oBC112keyword_e=NULL;
  233.  
  234.  
  235. void r112initialize(T112* C,T2 a1,T2 a2){
  236. C->_li=a1;
  237. C->_co=a2;
  238. /*[IRF3.3clear*/((((T7*)((T7*)(oBC112tmp_string))))->_count)=(0);
  239. /*]*/
  240. C->_unique_string_memory=NULL;
  241. }
  242. /*No:TMP_NAME.fz_else*/
  243.  
  244.  
  245. T0* r112to_local_name2(T112* C,T0* a1,T2 a2){
  246. T0* R=NULL;
  247. {T184*n=malloc(sizeof(*n));
  248. *n=M184;
  249. r184refer_to(n,r112pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
  250. R=(T0*)n;
  251. }
  252. return R;
  253. }
  254.  
  255.  
  256. T6 r112isa_keyword(void){
  257. T6 R=0;
  258. T3 _c=0;
  259. _c=r3to_lower(/*(IRF4.6item*/(((T7*)(oBC112tmp_string))->_storage/*0*/)[(1)-(1)]/*)*/);
  260. {int z1=_c;
  261.  
  262. if((97==z1)){
  263. R=r112look_in(oBC112keyword_a);
  264. }
  265.  else 
  266. if((99==z1)){
  267. R=r112look_in(oBC112keyword_c);
  268. }
  269.  else 
  270. if((100==z1)){
  271. R=r112look_in(oBC112keyword_d);
  272. }
  273.  else 
  274. if((101==z1)){
  275. R=r112look_in(oBC112keyword_e);
  276. }
  277.  else 
  278. if((102==z1)){
  279. R=r112look_in(oBC112keyword_f);
  280. }
  281.  else 
  282. if((105==z1)){
  283. R=r112look_in(oBC112keyword_i);
  284. }
  285.  else 
  286. if((108==z1)){
  287. R=r112look_in(oBC112keyword_l);
  288. }
  289.  else 
  290. if((111==z1)){
  291. R=r112look_in(oBC112keyword_o);
  292. }
  293.  else 
  294. if((112==z1)){
  295. R=r112look_in(oBC112keyword_p);
  296. }
  297.  else 
  298. if((114==z1)){
  299. R=r112look_in(oBC112keyword_r);
  300. }
  301.  else 
  302. if((115==z1)){
  303. R=r112look_in(oBC112keyword_s);
  304. }
  305.  else 
  306. if((116==z1)){
  307. R=r112look_in(oBC112keyword_t);
  308. }
  309.  else 
  310. if((117==z1)){
  311. R=r112look_in(oBC112keyword_u);
  312. }
  313.  else 
  314. if((118==z1)){
  315. R=r7same_as((T7*)(((T0*)ms13_9506)),oBC112tmp_string);
  316. }
  317.  else 
  318. if((119==z1)){
  319. R=r7same_as((T7*)(((T0*)ms13_1776)),oBC112tmp_string);
  320. }
  321.  else 
  322. if((120==z1)){
  323. R=r7same_as((T7*)(((T0*)ms14_1053a)),oBC112tmp_string);
  324. }
  325. }
  326. return R;
  327. }
  328. /*No:TMP_NAME.fz_deferred*/
  329. /*No:TMP_NAME.fz_like*/
  330.  
  331.  
  332. T0* r112to_class_name(T112* C){
  333. T0* R=NULL;
  334. {T70*n=malloc(sizeof(*n));
  335. *n=M70;
  336. r70make(n,oBC112tmp_string,r112pos((C)->_li/*4*/,(C)->_co/*8*/));
  337. R=(T0*)n;
  338. }
  339. return R;
  340. }
  341. T0*oBC112keyword_o=NULL;
  342.  
  343.  
  344. T0* r112to_argument_name2(T112* C,T0* a1,T2 a2){
  345. T0* R=NULL;
  346. {T192*n=malloc(sizeof(*n));
  347. *n=M192;
  348. r192refer_to(n,r112pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
  349. R=(T0*)n;
  350. }
  351. return R;
  352. }
  353. /*No:TMP_NAME.fz_end*/
  354. /*No:TMP_NAME.fz_undefine*/
  355. T0*oBC112keyword_a=NULL;
  356. T0*oBC112keyword_t=NULL;
  357. /*No:TMP_NAME.fz_external*/
  358. /*No:TMP_NAME.fz_from*/
  359. /*No:TMP_NAME.fz_false*/
  360.  
  361.  
  362. T6 r112is_void(void){
  363. T6 R=0;
  364. /*[IF*/
  365. if((((T7*)(oBC112tmp_string))->_count/*4*/)==(4)){
  366. R=r7same_as((T7*)(((T0*)ms14_1648)),oBC112tmp_string);
  367. }
  368. /*FI]*/
  369. return R;
  370. }
  371. /*No:TMP_NAME.us_and*/
  372. T0*oBC112keyword_f=NULL;
  373. /*No:LOOP_VARIANT_1.nb_errors*/
  374.  
  375.  
  376. T0* r250start_position(T250* C){
  377. T0* R=NULL;
  378. R=X109start_position((C)->_expression/*8*/);
  379. return R;
  380. }
  381.  
  382.  
  383. T0* r250twin(T250* C){
  384. T0* R=NULL;
  385. R=malloc(sizeof(*C));
  386. *((T250*)R)=*C;
  387. return R;
  388. }
  389. /*No:LOOP_VARIANT_1.expression*/
  390.  
  391.  
  392. T6 r250use_current(T250* C){
  393. T6 R=0;
  394. R=X109use_current((C)->_expression/*8*/);
  395. return R;
  396. }
  397.  
  398.  
  399. T0* r250to_runnable(T250* C,T0* a1){
  400. T0* R=NULL;
  401. T0* _e=NULL;
  402. /*[IF*/
  403. if(((C)->_current_type/*12*/)==((void*)(NULL))){
  404. C->_current_type=a1;
  405. _e=X109to_runnable((C)->_expression/*8*/,a1);
  406. /*[IF*/
  407. if((_e)==((void*)(NULL))){
  408. r250error(r250start_position(C),((T0*)ms246_20400));
  409. }
  410. else{
  411. C->_expression=_e;
  412. /*[IF*/
  413. if(!(X52is_integer(X109result_type((C)->_expression/*8*/)))){
  414. r250error(X109start_position((C)->_expression/*8*/),((T0*)ms246_86602));
  415. }
  416. /*FI]*/
  417. }
  418. /*FI]*/
  419. /*[IF*/
  420. if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
  421. R=(T0*)C;
  422. }
  423. /*FI]*/
  424. }
  425. else{
  426. R=r250twin(C);
  427. /*[IRF3.3set_current_type*/((((T250*)(((T250*)R))))->_current_type)=(NULL);
  428. /*]*/
  429. R=r250to_runnable(((T250*)R),a1);
  430. }
  431. /*FI]*/
  432. return R;
  433. }
  434. /*No:LOOP_VARIANT_1.set_current_type*/
  435. /*No:LOOP_VARIANT_1.current_type*/
  436.  
  437.  
  438. void r250error(T0* a1,T0* a2){
  439. r21add_position(a1);
  440. r21error((T21*)(oBC12eh),a2);
  441. }
  442.  
  443.  
  444. void r250make(T250* C,T0* a1,T0* a2){
  445. C->_comment=a2;
  446. C->_expression=a1;
  447. }
  448. /*No:LOOP_VARIANT_1.comment*/
  449.  
  450.  
  451. void r250afd_check(T250* C){
  452. X109afd_check((C)->_expression/*8*/);
  453. }
  454. /*No:CALL_INFIX_IMPLIES.static_value*/
  455. /*No:CALL_INFIX_IMPLIES.feature_name*/
  456.  
  457.  
  458. T6 r116is_static(T116* C){
  459. T6 R=0;
  460. /*[IF*/
  461. if(X52is_boolean(X109result_type((C)->_target/*4*/))){
  462. /*[IF*/
  463. if(X109is_static((C)->_target/*4*/)){
  464. /*[IF*/
  465. if((X109static_value((C)->_target/*4*/))==(0)){
  466. R=1;
  467. C->_static_value_mem=1;
  468. }
  469.  else if(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/)){
  470. R=1;
  471. C->_static_value_mem=X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  472. }
  473. /*FI]*/
  474. }
  475. /*FI]*/
  476. }
  477. /*FI]*/
  478. return R;
  479. }
  480. /*No:CALL_INFIX_IMPLIES.is_manifest_string*/
  481.  
  482.  
  483. T0* r116start_position(T116* C){
  484. T0* R=NULL;
  485. R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  486. return R;
  487. }
  488.  
  489.  
  490. T0* r116add_comment(T116* C,T0* a1){
  491. T0* R=NULL;
  492. /*[IF*/
  493. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  494. R=(T0*)C;
  495. }
  496. else{
  497. {T234*n=malloc(sizeof(*n));
  498. *n=M234;
  499. r234make(n,(T0*)C,a1);
  500. R=(T0*)n;
  501. }
  502. }
  503. /*FI]*/
  504. return R;
  505. }
  506.  
  507.  
  508. T2 r116to_integer(T116* C){
  509. T2 R=0;
  510. r116error(r116start_position(C),((T0*)ms13_45846));
  511. return R;
  512. }
  513.  
  514.  
  515. T6 r116use_current(T116* C){
  516. T6 R=0;
  517. /*[IF*/
  518. {/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
  519. }
  520. /*FI]*/
  521. /*[IF*/
  522. if(R){
  523. }
  524.  else if(X109is_current((C)->_target/*4*/)){
  525. R=X27use_current((C)->_run_feature/*16*/);
  526. }
  527. else{
  528. R=X109use_current((C)->_target/*4*/);
  529. }
  530. /*FI]*/
  531. return R;
  532. }
  533. /*No:CALL_INFIX_IMPLIES.jvm_branch_if_true*/
  534.  
  535.  
  536. T0* r116to_runnable(T116* C,T0* a1){
  537. T0* R=NULL;
  538. T0* _rf=NULL;
  539. T0* _tbee=NULL;
  540. T0* _at=NULL;
  541. T0* _tt=NULL;
  542. T0* _a=NULL;
  543. T0* _t=NULL;
  544. _t=r116runnable_expression((C)->_target/*4*/,a1);
  545. _a=r116runnable_args((C)->_arguments/*8*/,a1);
  546. _tt=X109result_type(_t);
  547. _at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  548. /*[IF*/
  549. /*AF*//*AE*/
  550. /*FI]*/
  551. _rf=r116run_feature_for(C,_t,a1);
  552. /*[IF*/
  553. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  554. C->_target=_t;
  555. C->_arguments=_a;
  556. C->_run_feature=_rf;
  557. r116run_feature_match(C,a1);
  558. R=(T0*)C;
  559. }
  560.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  561. R=(T0*)C;
  562. }
  563. else{
  564. {T116*n=malloc(sizeof(*n));
  565. *n=M116;
  566. r116with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  567. R=(T0*)n;
  568. }
  569. }
  570. /*FI]*/
  571. return R;
  572. }
  573.  
  574.  
  575. T2 r116compile_to_jvm_into(T116* C,T0* a1){
  576. T2 R=0;
  577. R=r116standard_compile_to_jvm_into(C,a1);
  578. return R;
  579. }
  580. /*No:CALL_INFIX_IMPLIES.is_pre_computable*/
  581. /*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
  582. /*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
  583.  
  584.  
  585. T0* r116result_type(T116* C){
  586. T0* R=NULL;
  587. T0* _tla=NULL;
  588. R=X27result_type((C)->_run_feature/*16*/);
  589. /*[IF*/
  590. if(X52is_like_current(R)){
  591. R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  592. }
  593. else{
  594. _tla=R;
  595. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  596. case 262: 
  597. break;
  598. default:
  599. _tla=NULL;
  600. };/*[IF*/
  601. if((_tla)!=((void*)(NULL))){
  602. R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  603. }
  604. /*FI]*/
  605. }
  606. /*FI]*/
  607. return R;
  608. }
  609. /*No:CALL_INFIX_IMPLIES.static_value_mem*/
  610. /*No:CALL_INFIX_IMPLIES.run_feature*/
  611.  
  612.  
  613. T0* r116runnable_args(T0* a1,T0* a2){
  614. T0* R=NULL;
  615. R=r152to_runnable(((T152*)a1),a2);
  616. /*[IF*/
  617. if((R)==((void*)(NULL))){
  618. r21add_position(r152start_position(((T152*)a1)));
  619. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  620. r21fatal_error((T21*)(oBC12eh),b1);
  621. }/*]*/
  622. }
  623. /*FI]*/
  624. return R;
  625. }
  626.  
  627.  
  628. void r116standard_compile_target_to_jvm(T116* C){
  629. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T116* C1=C;
  630. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  631. }/*]*/
  632. /*]*/
  633. X52jvm_check_class_invariant(r116result_type(C));
  634. }
  635. /*No:CALL_INFIX_IMPLIES.compile_to_jvm_assignment*/
  636. /*No:CALL_INFIX_IMPLIES.fz_07*/
  637.  
  638.  
  639. void r116compile_to_jvm_old(T116* C){
  640. X109compile_to_jvm_old((C)->_target/*4*/);
  641. /*[IF*/
  642. {/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
  643. }
  644. /*FI]*/
  645. }
  646. /*No:CALL_INFIX_IMPLIES.jvm_assign*/
  647. /*No:CALL_INFIX_IMPLIES.jvm_branch_if_false*/
  648. /*No:CALL_INFIX_IMPLIES.compile_to_jvm*/
  649. /*No:CALL_INFIX_IMPLIES.arg_count*/
  650.  
  651.  
  652. void r116with(T116* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  653. C->_target=a1;
  654. C->_feature_name=a2;
  655. C->_arguments=a3;
  656. C->_run_feature=a4;
  657. r116run_feature_match(C,a5);
  658. }
  659. /*No:CALL_INFIX_IMPLIES.call_proc_call_c2jvm*/
  660. /*No:CALL_INFIX_IMPLIES.is_result*/
  661. /*No:CALL_INFIX_IMPLIES.fatal_error*/
  662.  
  663.  
  664. void r116run_feature_match(T116* C,T0* a1){
  665. r116run_feature_has_result(C);
  666. r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  667. }
  668. /*No:CALL_INFIX_IMPLIES.arguments*/
  669.  
  670.  
  671. T0* r116runnable_expression(T0* a1,T0* a2){
  672. T0* R=NULL;
  673. R=X109to_runnable(a1,a2);
  674. /*[IF*/
  675. if((R)==((void*)(NULL))){
  676. r21add_position(X109start_position(a1));
  677. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
  678. r21fatal_error((T21*)(oBC12eh),b1);
  679. }/*]*/
  680. }
  681. /*FI]*/
  682. return R;
  683. }
  684. /*No:CALL_INFIX_IMPLIES.can_be_dropped*/
  685. /*No:CALL_INFIX_IMPLIES.implicit_cast*/
  686. /*No:CALL_INFIX_IMPLIES.compile_target_to_jvm*/
  687. /*No:CALL_INFIX_IMPLIES.isa_dca_inline_argument*/
  688. /*No:CALL_INFIX_IMPLIES.arg1*/
  689.  
  690.  
  691. void r116run_feature_has_result(T116* C){
  692. /*[IF*/
  693. if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  694. r21add_position(X27start_position((C)->_run_feature/*16*/));
  695. r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  696. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
  697. r21fatal_error((T21*)(oBC12eh),b1);
  698. }/*]*/
  699. }
  700. /*FI]*/
  701. }
  702.  
  703.  
  704. T2 r116jvm_standard_branch_if_false(T116* C){
  705. T2 R=0;
  706. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T116* C1=C;
  707. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  708. }/*]*/
  709. /*]*/
  710. R=r28opcode_ifeq((T28*)(oBC12code_attribute));
  711. return R;
  712. }
  713.  
  714.  
  715. T0* r116run_feature_for(T116* C,T0* a1,T0* a2){
  716. T0* R=NULL;
  717. T0* _rc=NULL;
  718. _rc=X52run_class(X109result_type(a1));
  719. R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
  720. return R;
  721. }
  722. /*No:CALL_INFIX_IMPLIES.target*/
  723.  
  724.  
  725. void r116error(T0* a1,T0* a2){
  726. r21add_position(a1);
  727. r21error((T21*)(oBC12eh),a2);
  728. }
  729.  
  730.  
  731. void r116make(T116* C,T0* a1,T0* a2,T0* a3){
  732. C->_target=a1;
  733. {T141*n=malloc(sizeof(*n));
  734. *n=M141;
  735. r141make(n,r116operator(),a2);
  736. C->_feature_name=(T0*)n;
  737. }
  738. {T152*n=malloc(sizeof(*n));
  739. *n=M152;
  740. /*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
  741. /*]*/
  742. C->_arguments=(T0*)n;
  743. }
  744. }
  745. /*No:CALL_INFIX_IMPLIES.is_current*/
  746. /*No:CALL_INFIX_IMPLIES.us_implies*/
  747.  
  748.  
  749. T2 r116standard_compile_to_jvm_into(T116* C,T0* a1){
  750. T2 R=0;
  751. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T116* C1=C;
  752. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  753. }/*]*/
  754. /*]*/
  755. R=X52jvm_convert_to(X52run_type(r116result_type(C)),a1);
  756. return R;
  757. }
  758. /*No:CALL_INFIX_IMPLIES.is_void*/
  759.  
  760.  
  761. T0* r116operator(void){
  762. T0* R=NULL;
  763. R=((T0*)ms14_9513);
  764. return R;
  765. }
  766.  
  767.  
  768. T2 r116jvm_standard_branch_if_true(T116* C){
  769. T2 R=0;
  770. /*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T116* C1=C;
  771. r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
  772. }/*]*/
  773. /*]*/
  774. R=r28opcode_ifne((T28*)(oBC12code_attribute));
  775. return R;
  776. }
  777.  
  778.  
  779. void r116afd_check(T116* C){
  780. T0* _running=NULL;
  781. T0* _rc=NULL;
  782. _rc=X52run_class(X109result_type((C)->_target/*4*/));
  783. _running=(((T23*)_rc))->_running/*12*/;
  784. /*[IF*/
  785. if((_running)==((void*)(NULL))){
  786. r21add_position(X109start_position((C)->_target/*4*/));
  787. /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
  788. r7append((T7*)(oBC21explanation),b1);
  789. }/*]*/
  790. /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
  791. r7append((T7*)(oBC21explanation),b1);
  792. }/*]*/
  793. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  794. r7append((T7*)(oBC21explanation),b1);
  795. }/*]*/
  796. r21print_as_warning((T21*)(oBC12eh));
  797. r23set_at_run_time(((T23*)_rc));
  798. }
  799.  else if((r340count(((T340*)_running)))>(1)){
  800. r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
  801. }
  802. /*FI]*/
  803. X109afd_check((C)->_target/*4*/);
  804. /*[IF*/
  805. {/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
  806. }
  807. /*FI]*/
  808. }
  809.  
  810.  
  811. void r373fall_down(T373* C){
  812. T0* _rf=NULL;
  813. T0* _sub_name=NULL;
  814. T0* _sub_bc=NULL;
  815. T0* _current_bc=NULL;
  816. T0* _sub_rc=NULL;
  817. T0* _current_rc=NULL;
  818. T2 _i=0;
  819. T0* _running=NULL;
  820. _current_rc=X52run_class((C)->_current_type/*4*/);
  821. _running=(((T23*)_current_rc))->_running/*12*/;
  822. /*[IF*/
  823. if((_running)!=((void*)(NULL))){
  824. _current_bc=X52base_class((C)->_current_type/*4*/);
  825. _i=(((T340*)_running))->_lower/*12*/;
  826. while (!((_i)>((((T340*)_running))->_upper/*8*/))) {
  827. _sub_rc=r340item(((T340*)_running),_i);
  828. /*[IF*/
  829. if((_sub_rc)!=((void*)(_current_rc))){
  830. _sub_bc=X52base_class((((T23*)_sub_rc))->_current_type/*0*/);
  831. _sub_name=r63new_name_of(((T63*)_sub_bc),_current_bc,(C)->_name/*16*/);
  832. _rf=r23get_feature(((T23*)_sub_rc),_sub_name);
  833. }
  834. /*FI]*/
  835. _i=(_i)+(1);
  836. }
  837. }
  838. /*FI]*/
  839. }
  840. /*No:RUN_FEATURE_11.use_current_state*/
  841. /*No:RUN_FEATURE_11.rescue_compound*/
  842. /*No:RUN_FEATURE_11.actuals_clients*/
  843. /*No:RUN_FEATURE_11.ucs_false*/
  844. /*No:RUN_FEATURE_11.is_static*/
  845.  
  846.  
  847. T0* r373start_position(T373* C){
  848. T0* R=NULL;
  849. R=r308start_position((T308*)((C)->_base_feature/*32*/));
  850. return R;
  851. }
  852.  
  853.  
  854. void r373routine_mapping_jvm(T373* C){
  855. T2 _stack_level=0;
  856. T2 _idx=0;
  857. T0* _ct=NULL;
  858. T0* _rt=NULL;
  859. _ct=(C)->_current_type/*4*/;
  860. r24push_target_as_target((T24*)(oBC12jvm));
  861. _stack_level=-((1)+(r24push_arguments((T24*)(oBC12jvm))));
  862. _rt=(C)->_result_type/*40*/;
  863. /*[IF*/
  864. if((_rt)!=((void*)(NULL))){
  865. _stack_level=(_stack_level)+(X52jvm_stack_space(_rt));
  866. }
  867. /*FI]*/
  868. _idx=r29idx_methodref((T29*)(oBC12constant_pool),(T0*)C);
  869. r23jvm_invoke((T23*)(X52run_class(_ct)),_idx,_stack_level);
  870. }
  871.  
  872.  
  873. T6 r373use_current(T373* C){
  874. T6 R=0;
  875. {int z1=(C)->_use_current_state/*28*/;
  876.  
  877. if((14==z1)){
  878. R=1;
  879. }
  880.  else 
  881. if((13==z1)){
  882. }
  883.  else 
  884. if((15==z1)){
  885. C->_use_current_state=16;
  886. /*[IRF3.4compute_use_current*/r373std_compute_use_current(C);
  887. /*]*/
  888. R=r373use_current(C);
  889. }
  890.  else {R=1;
  891. }}
  892. return R;
  893. }
  894. /*No:RUN_FEATURE_11.mapping_jvm*/
  895.  
  896.  
  897. void r373routine_afd_check(T373* C){
  898. /*[IF*/
  899. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  900. r367afd_check((T367*)((C)->_require_assertion/*20*/));
  901. }
  902. /*FI]*/
  903. /*[IF*/
  904. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  905. r220afd_check((T220*)((C)->_routine_body/*48*/));
  906. }
  907. /*FI]*/
  908. /*[IF*/
  909. if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
  910. r220afd_check((T220*)((C)->_rescue_compound/*52*/));
  911. }
  912. /*FI]*/
  913. /*[IF*/
  914. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  915. r219afd_check((T219*)((C)->_ensure_assertion/*24*/));
  916. }
  917. /*FI]*/
  918. }
  919. /*No:RUN_FEATURE_11.ucs_not_computed*/
  920. /*No:RUN_FEATURE_11.is_pre_computable*/
  921.  
  922.  
  923. void r373std_compute_use_current(T373* C){
  924. /*[IF*/
  925. if(((C)->_use_current_state/*28*/)==(16)){
  926. /*[IF*/
  927. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  928. /*[IF*/
  929. if(r367use_current((T367*)((C)->_require_assertion/*20*/))){
  930. C->_use_current_state=14;
  931. }
  932. /*FI]*/
  933. }
  934. /*FI]*/
  935. }
  936. /*FI]*/
  937. /*[IF*/
  938. if(((C)->_use_current_state/*28*/)==(16)){
  939. /*[IF*/
  940. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  941. /*[IF*/
  942. if(r220use_current((T220*)((C)->_routine_body/*48*/))){
  943. C->_use_current_state=14;
  944. }
  945. /*FI]*/
  946. }
  947. /*FI]*/
  948. }
  949. /*FI]*/
  950. /*[IF*/
  951. if(((C)->_use_current_state/*28*/)==(16)){
  952. /*[IF*/
  953. if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
  954. /*[IF*/
  955. if(r220use_current((T220*)((C)->_rescue_compound/*52*/))){
  956. C->_use_current_state=14;
  957. }
  958. /*FI]*/
  959. }
  960. /*FI]*/
  961. }
  962. /*FI]*/
  963. /*[IF*/
  964. if(((C)->_use_current_state/*28*/)==(16)){
  965. /*[IF*/
  966. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  967. /*[IF*/
  968. if(r219use_current((T219*)((C)->_ensure_assertion/*24*/))){
  969. C->_use_current_state=14;
  970. }
  971. /*FI]*/
  972. }
  973. /*FI]*/
  974. }
  975. /*FI]*/
  976. /*[IF*/
  977. if(((C)->_use_current_state/*28*/)==(16)){
  978. C->_use_current_state=13;
  979. }
  980. /*FI]*/
  981. }
  982.  
  983.  
  984. T0* r373run_class(T373* C){
  985. T0* R=NULL;
  986. R=X52run_class((C)->_current_type/*4*/);
  987. return R;
  988. }
  989. /*No:RUN_FEATURE_11.result_type*/
  990. /*No:RUN_FEATURE_11.base_feature*/
  991. /*No:RUN_FEATURE_11.static_value_mem*/
  992. /*No:RUN_FEATURE_11.ensure_assertion*/
  993.  
  994.  
  995. T2 r373jvm_local_variable_offset(T373* C,T0* a1){
  996. T2 R=0;
  997. R=X52jvm_stack_space((C)->_current_type/*4*/);
  998. /*[IF*/
  999. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1000. R=(R)+(r191jvm_stack_space((T191*)((C)->_arguments/*36*/)));
  1001. }
  1002. /*FI]*/
  1003. R=(R)+(r182jvm_offset_of((T182*)((C)->_local_vars/*44*/),a1));
  1004. return R;
  1005. }
  1006.  
  1007.  
  1008. T2 r373arg_count(T373* C){
  1009. T2 R=0;
  1010. /*[IF*/
  1011. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1012. R=/*(IRF4.6count*/(((T195*)(((T191*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  1013. }
  1014. /*FI]*/
  1015. return R;
  1016. }
  1017. /*No:RUN_FEATURE_11.fz_19*/
  1018.  
  1019.  
  1020. T6 r373is_exported_in(T373* C,T0* a1){
  1021. T6 R=0;
  1022. R=r103gives_permission_to((T103*)(r373clients(C)),a1);
  1023. return R;
  1024. }
  1025. /*No:RUN_FEATURE_11.arguments*/
  1026.  
  1027.  
  1028. T2 r373jvm_argument_offset(T373* C,T0* a1){
  1029. T2 R=0;
  1030. R=X52jvm_stack_space((C)->_current_type/*4*/);
  1031. R=(R)+(r191jvm_offset_of((T191*)((C)->_arguments/*36*/),a1));
  1032. return R;
  1033. }
  1034. /*No:RUN_FEATURE_11.can_be_dropped*/
  1035.  
  1036.  
  1037. void r373initialize(T373* C){
  1038. C->_arguments=((T308*)((C)->_base_feature/*32*/))->_arguments/*24*/;
  1039. /*[IF*/
  1040. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1041. /*[IF*/
  1042. if(!(r191is_runnable((T191*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  1043. {T191*n=malloc(sizeof(*n));
  1044. *n=M191;
  1045. r191with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  1046. C->_arguments=(T0*)n;
  1047. }
  1048. }
  1049. /*FI]*/
  1050. }
  1051. /*FI]*/
  1052. C->_result_type=X52to_runnable(((T308*)((C)->_base_feature/*32*/))->_result_type/*56*/,(C)->_current_type/*4*/);
  1053. C->_local_vars=((T308*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
  1054. /*[IF*/
  1055. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  1056. C->_local_vars=r182to_runnable((T182*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
  1057. }
  1058. /*FI]*/
  1059. C->_routine_body=((T308*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
  1060. /*[IF*/
  1061. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  1062. C->_routine_body=r220to_runnable((T220*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
  1063. }
  1064. /*FI]*/
  1065. /*[IF*/
  1066. if(r76require_check((T76*)(oBC12run_control))){
  1067. C->_require_assertion=r308run_require((T0*)C);
  1068. }
  1069. /*FI]*/
  1070. /*[IF*/
  1071. if(r76ensure_check((T76*)(oBC12run_control))){
  1072. C->_ensure_assertion=r308run_ensure((T0*)C);
  1073. }
  1074. /*FI]*/
  1075. C->_rescue_compound=((T308*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
  1076. /*[IF*/
  1077. if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
  1078. /*[IRF3.3set_used*/((((T362*)((T362*)(oBC12exceptions_handler))))->_used)=(1);
  1079. /*]*/
  1080. C->_rescue_compound=r220to_runnable((T220*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
  1081. }
  1082. /*FI]*/
  1083. }
  1084. /*No:RUN_FEATURE_11.require_assertion*/
  1085. /*No:RUN_FEATURE_11.update_tmp_jvm_descriptor*/
  1086.  
  1087.  
  1088. T2 r373jvm_max_locals(T373* C){
  1089. T2 R=0;
  1090. R=X52jvm_stack_space((C)->_current_type/*4*/);
  1091. /*[IF*/
  1092. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1093. R=(R)+(r191jvm_stack_space((T191*)((C)->_arguments/*36*/)));
  1094. }
  1095. /*FI]*/
  1096. /*[IF*/
  1097. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  1098. R=(R)+(r182jvm_stack_space((T182*)((C)->_local_vars/*44*/)));
  1099. }
  1100. /*FI]*/
  1101. /*[IF*/
  1102. if(((C)->_result_type/*40*/)!=((void*)(NULL))){
  1103. R=(R)+(X52jvm_stack_space((C)->_result_type/*40*/));
  1104. }
  1105. /*FI]*/
  1106. return R;
  1107. }
  1108.  
  1109.  
  1110. void r373jvm_define_opening(T373* C){
  1111. T0* _t=NULL;
  1112. /*[IF*/
  1113. if(((C)->_result_type/*40*/)!=((void*)(NULL))){
  1114. _t=X52run_type((C)->_result_type/*40*/);
  1115. X52jvm_initialize_local(_t,r373jvm_result_offset(C));
  1116. }
  1117. /*FI]*/
  1118. /*[IF*/
  1119. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  1120. r182jvm_initialize((T182*)((C)->_local_vars/*44*/));
  1121. }
  1122. /*FI]*/
  1123. /*[IF*/
  1124. if(r76ensure_check((T76*)(oBC12run_control))){
  1125. /*[IF*/
  1126. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  1127. r219compile_to_jvm_old((T219*)((C)->_ensure_assertion/*24*/));
  1128. }
  1129. /*FI]*/
  1130. }
  1131. /*FI]*/
  1132. /*[IF*/
  1133. if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
  1134. r367compile_to_jvm((T367*)((C)->_require_assertion/*20*/));
  1135. }
  1136. /*FI]*/
  1137. }
  1138.  
  1139.  
  1140. void r373jvm_define_closing(T373* C){
  1141. /*[IF*/
  1142. if(r76ensure_check((T76*)(oBC12run_control))){
  1143. /*[IF*/
  1144. if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
  1145. r219compile_to_jvm((T219*)((C)->_ensure_assertion/*24*/),1);
  1146. /*[IRF3.4opcode_pop*/r28opcode((T28*)(oBC12code_attribute),87,-(1));
  1147. /*]*/
  1148. }
  1149. /*FI]*/
  1150. }
  1151. /*FI]*/
  1152. /*[IF*/
  1153. if(((C)->_result_type/*40*/)!=((void*)(NULL))){
  1154. X52jvm_push_local((C)->_result_type/*40*/,r373jvm_result_offset(C));
  1155. }
  1156. /*FI]*/
  1157. }
  1158. /*No:RUN_FEATURE_11.clients_memory*/
  1159. T0*oBC12exceptions_handler=NULL;
  1160. /*No:RUN_FEATURE_11.current_type*/
  1161.  
  1162.  
  1163. void r373add_client(T373* C,T0* a1){
  1164. T2 _i=0;
  1165. /*[IF*/
  1166. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  1167. {T343*n=malloc(sizeof(*n));
  1168. *n=M343;
  1169. r343with_capacity(n,4);
  1170. C->_actuals_clients=(T0*)n;
  1171. }
  1172. r343add_last((T343*)((C)->_actuals_clients/*12*/),a1);
  1173. }
  1174. else{
  1175. _i=r343fast_index_of((T343*)((C)->_actuals_clients/*12*/),a1);
  1176. /*[IF*/
  1177. if((_i)>(((T343*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  1178. r343add_last((T343*)((C)->_actuals_clients/*12*/),a1);
  1179. }
  1180. /*FI]*/
  1181. }
  1182. /*FI]*/
  1183. r23add_client((T23*)(r373run_class(C)),a1);
  1184. }
  1185. /*No:RUN_FEATURE_11.ucs_in_computation*/
  1186. /*No:RUN_FEATURE_11.compute_use_current*/
  1187.  
  1188.  
  1189. void r373method_info_start(T373* C){
  1190. T2 _flags=0;
  1191. _flags=X52jvm_method_flags((C)->_current_type/*4*/);
  1192. r39start((T39*)(oBC12method_info),_flags,X50to_key((C)->_name/*16*/),r373jvm_descriptor(C));
  1193. }
  1194.  
  1195.  
  1196. void r373make(T373* C,T0* a1,T0* a2,T0* a3){
  1197. C->_current_type=a1;
  1198. C->_name=a2;
  1199. C->_base_feature=a3;
  1200. /*[IRF3.5add_rf*/r333put(((T333*)(((T23*)(r373run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X50to_key(a2));
  1201. /*]*/
  1202. r22incr_magic_count((T22*)(oBC12small_eiffel));
  1203. C->_use_current_state=15;
  1204. r22push((T22*)(oBC12small_eiffel),(T0*)C);
  1205. r373initialize(C);
  1206. r22pop((T22*)(oBC12small_eiffel));
  1207. }
  1208. /*No:RUN_FEATURE_11.ucs_true*/
  1209. /*No:RUN_FEATURE_11.routine_body*/
  1210.  
  1211.  
  1212. void r373jvm_define(T373* C){
  1213. r373method_info_start(C);
  1214. r373jvm_define_opening(C);
  1215. /*[IF*/
  1216. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  1217. r220compile_to_jvm((T220*)((C)->_routine_body/*48*/));
  1218. }
  1219. /*FI]*/
  1220. r373jvm_define_closing(C);
  1221. X52jvm_return_code(X52run_type((C)->_result_type/*40*/));
  1222. r39finish((T39*)(oBC12method_info));
  1223. }
  1224. /*No:RUN_FEATURE_11.name*/
  1225. /*No:RUN_FEATURE_11.local_vars*/
  1226.  
  1227.  
  1228. T2 r373jvm_result_offset(T373* C){
  1229. T2 R=0;
  1230. R=X52jvm_stack_space((C)->_current_type/*4*/);
  1231. /*[IF*/
  1232. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1233. R=(R)+(r191jvm_stack_space((T191*)((C)->_arguments/*36*/)));
  1234. }
  1235. /*FI]*/
  1236. /*[IF*/
  1237. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  1238. R=(R)+(r182jvm_stack_space((T182*)((C)->_local_vars/*44*/)));
  1239. }
  1240. /*FI]*/
  1241. return R;
  1242. }
  1243.  
  1244.  
  1245. void r373routine_update_tmp_jvm_descriptor(T373* C){
  1246. T0* _rt=NULL;
  1247. T0* _ct=NULL;
  1248. r7extend((T7*)(oBC27tmp_jvm_descriptor),'\50');
  1249. _ct=(C)->_current_type/*4*/;
  1250. X52jvm_target_descriptor_in(_ct,oBC27tmp_jvm_descriptor);
  1251. /*[IF*/
  1252. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1253. r191jvm_descriptor_in((T191*)((C)->_arguments/*36*/),oBC27tmp_jvm_descriptor);
  1254. }
  1255. /*FI]*/
  1256. _rt=(C)->_result_type/*40*/;
  1257. /*[IF*/
  1258. if((_rt)==((void*)(NULL))){
  1259. r7append((T7*)(oBC27tmp_jvm_descriptor),((T0*)ms13_260));
  1260. }
  1261. else{
  1262. _rt=X52run_type(_rt);
  1263. r7extend((T7*)(oBC27tmp_jvm_descriptor),'\51');
  1264. X52jvm_descriptor_in(_rt,oBC27tmp_jvm_descriptor);
  1265. }
  1266. /*FI]*/
  1267. }
  1268. /*No:RUN_FEATURE_11.jvm_field_or_method*/
  1269. /*No:RUN_FEATURE_11.afd_check*/
  1270.  
  1271.  
  1272. T0* r373clients(T373* C){
  1273. T0* R=NULL;
  1274. T0* _bfbc=NULL;
  1275. T0* _bc=NULL;
  1276. /*[IF*/
  1277. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  1278. _bc=X52base_class((C)->_current_type/*4*/);
  1279. _bfbc=((T308*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  1280. /*[IF*/
  1281. if((_bc)==((void*)(_bfbc))){
  1282. R=((T308*)((C)->_base_feature/*32*/))->_clients/*20*/;
  1283. }
  1284. else{
  1285. R=r63clients_for(((T63*)_bc),(C)->_name/*16*/);
  1286. }
  1287. /*FI]*/
  1288. C->_clients_memory=R;
  1289. }
  1290. else{
  1291. R=(C)->_clients_memory/*8*/;
  1292. }
  1293. /*FI]*/
  1294. return R;
  1295. }
  1296.  
  1297.  
  1298. T0* r373jvm_descriptor(T373* C){
  1299. T0* R=NULL;
  1300. /*[IRF3.3clear*/((((T7*)((T7*)(oBC27tmp_jvm_descriptor))))->_count)=(0);
  1301. /*]*/
  1302. /*[IRF3.4update_tmp_jvm_descriptor*/r373routine_update_tmp_jvm_descriptor(C);
  1303. /*]*/
  1304. R=oBC27tmp_jvm_descriptor;
  1305. return R;
  1306. }
  1307. /*No:PROC_CALL_N.feature_name*/
  1308.  
  1309.  
  1310. void r168run_feature_match(T168* C,T0* a1){
  1311. r168run_feature_has_no_result(C);
  1312. r152match_with((T152*)((C)->_arguments/*16*/),(C)->_run_feature/*12*/,a1);
  1313. }
  1314. /*No:PROC_CALL_N.arguments*/
  1315.  
  1316.  
  1317. T0* r168runnable_expression(T0* a1,T0* a2){
  1318. T0* R=NULL;
  1319. R=X109to_runnable(a1,a2);
  1320. /*[IF*/
  1321. if((R)==((void*)(NULL))){
  1322. r21add_position(X109start_position(a1));
  1323. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
  1324. r21fatal_error((T21*)(oBC12eh),b1);
  1325. }/*]*/
  1326. }
  1327. /*FI]*/
  1328. return R;
  1329. }
  1330.  
  1331.  
  1332. T0* r168start_position(T168* C){
  1333. T0* R=NULL;
  1334. R=X50start_position((C)->_feature_name/*8*/);
  1335. return R;
  1336. }
  1337.  
  1338.  
  1339. T0* r168add_comment(T168* C,T0* a1){
  1340. T0* R=NULL;
  1341. /*[IF*/
  1342. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  1343. R=(T0*)C;
  1344. }
  1345. /*AF*/else{
  1346. {T229*n=malloc(sizeof(*n));
  1347. *n=M229;
  1348. r229make(n,(T0*)C,a1);
  1349. R=(T0*)n;
  1350. }
  1351. }
  1352. /*FI]*/
  1353. return R;
  1354. }
  1355.  
  1356.  
  1357. void r168run_feature_has_no_result(T168* C){
  1358. /*[IF*/
  1359. if((X27result_type((C)->_run_feature/*12*/))!=((void*)(NULL))){
  1360. r21add_position(X27start_position((C)->_run_feature/*12*/));
  1361. r21add_position(X50start_position((C)->_feature_name/*8*/));
  1362. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms165_67122);
  1363. r21fatal_error((T21*)(oBC12eh),b1);
  1364. }/*]*/
  1365. }
  1366. /*FI]*/
  1367. }
  1368.  
  1369.  
  1370. T6 r168use_current(T168* C){
  1371. T6 R=0;
  1372. /*[IF*/
  1373. if((/*(IRF4.6arg_count*/r152count(((T152*)((C)->_arguments/*16*/)))/*)*/)>(0)){
  1374. R=r152use_current((T152*)((C)->_arguments/*16*/));
  1375. }
  1376. /*FI]*/
  1377. /*[IF*/
  1378. if(R){
  1379. }
  1380.  else if(X109is_current((C)->_target/*4*/)){
  1381. R=X27use_current((C)->_run_feature/*12*/);
  1382. }
  1383. else{
  1384. R=X109use_current((C)->_target/*4*/);
  1385. }
  1386. /*FI]*/
  1387. return R;
  1388. }
  1389.  
  1390.  
  1391. T0* r168to_runnable(T168* C,T0* a1){
  1392. T0* R=NULL;
  1393. T0* _rf=NULL;
  1394. T0* _a=NULL;
  1395. T0* _t=NULL;
  1396. _t=r168runnable_expression((C)->_target/*4*/,a1);
  1397. _a=r168runnable_args((C)->_arguments/*16*/,a1);
  1398. _rf=r168run_feature_for(C,_t,a1);
  1399. /*[IF*/
  1400. if(((C)->_run_feature/*12*/)==((void*)(NULL))){
  1401. C->_target=_t;
  1402. C->_arguments=_a;
  1403. C->_run_feature=_rf;
  1404. r168run_feature_match(C,a1);
  1405. R=(T0*)C;
  1406. }
  1407.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*16*/)))){
  1408. R=(T0*)C;
  1409. }
  1410. else{
  1411. {T168*n=malloc(sizeof(*n));
  1412. *n=M168;
  1413. r168with(n,_t,(C)->_feature_name/*8*/,_a,_rf,a1);
  1414. R=(T0*)n;
  1415. }
  1416. }
  1417. /*FI]*/
  1418. return R;
  1419. }
  1420. /*No:PROC_CALL_N.is_pre_computable*/
  1421. /*No:PROC_CALL_N.fz_bad_argument*/
  1422. /*No:PROC_CALL_N.set_run_feature*/
  1423.  
  1424.  
  1425. T0* r168run_feature_for(T168* C,T0* a1,T0* a2){
  1426. T0* R=NULL;
  1427. T0* _rc=NULL;
  1428. _rc=X52run_class(X109result_type(a1));
  1429. R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*8*/,a2);
  1430. return R;
  1431. }
  1432. /*No:PROC_CALL_N.target*/
  1433. /*No:PROC_CALL_N.run_feature*/
  1434. /*No:PROC_CALL_N.end_mark_comment*/
  1435.  
  1436.  
  1437. void r168make(T168* C,T0* a1,T0* a2,T0* a3){
  1438. C->_target=a1;
  1439. C->_feature_name=a2;
  1440. C->_arguments=a3;
  1441. }
  1442.  
  1443.  
  1444. T0* r168runnable_args(T0* a1,T0* a2){
  1445. T0* R=NULL;
  1446. R=r152to_runnable(((T152*)a1),a2);
  1447. /*[IF*/
  1448. if((R)==((void*)(NULL))){
  1449. r21add_position(r152start_position(((T152*)a1)));
  1450. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
  1451. r21fatal_error((T21*)(oBC12eh),b1);
  1452. }/*]*/
  1453. }
  1454. /*FI]*/
  1455. return R;
  1456. }
  1457. /*No:PROC_CALL_N.fz_07*/
  1458.  
  1459.  
  1460. T0* r168make_runnable(T168* C,T0* a1,T0* a2,T0* a3){
  1461. T0* R=NULL;
  1462. /*[IF*/
  1463. if(((C)->_run_feature/*12*/)==((void*)(NULL))){
  1464. C->_target=a1;
  1465. C->_arguments=a2;
  1466. C->_run_feature=a3;
  1467. R=(T0*)C;
  1468. }
  1469. else{
  1470. {T168*n=malloc(sizeof(*n));
  1471. *n=M168;
  1472. r168make(n,a1,(C)->_feature_name/*8*/,a2);
  1473. R=(T0*)n;
  1474. }
  1475. /*[IRF3.3set_run_feature*/((((T168*)(((T168*)R))))->_run_feature)=(a3);
  1476. /*]*/
  1477. }
  1478. /*FI]*/
  1479. return R;
  1480. }
  1481. /*No:PROC_CALL_N.compile_to_jvm*/
  1482.  
  1483.  
  1484. void r168afd_check(T168* C){
  1485. T0* _running=NULL;
  1486. T0* _rc=NULL;
  1487. _rc=X52run_class(X109result_type((C)->_target/*4*/));
  1488. _running=(((T23*)_rc))->_running/*12*/;
  1489. /*[IF*/
  1490. if((_running)==((void*)(NULL))){
  1491. r21add_position(X109start_position((C)->_target/*4*/));
  1492. /*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
  1493. r7append((T7*)(oBC21explanation),b1);
  1494. }/*]*/
  1495. /*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
  1496. r7append((T7*)(oBC21explanation),b1);
  1497. }/*]*/
  1498. /*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
  1499. r7append((T7*)(oBC21explanation),b1);
  1500. }/*]*/
  1501. r21print_as_warning((T21*)(oBC12eh));
  1502. r23set_at_run_time(((T23*)_rc));
  1503. }
  1504.  else if((r340count(((T340*)_running)))>(1)){
  1505. r335update((C)->_target/*4*/,(C)->_run_feature/*12*/);
  1506. }
  1507. /*FI]*/
  1508. X109afd_check((C)->_target/*4*/);
  1509. /*[IF*/
  1510. if((/*(IRF4.6arg_count*/r152count(((T152*)((C)->_arguments/*16*/)))/*)*/)>(0)){
  1511. r152afd_check((T152*)((C)->_arguments/*16*/));
  1512. }
  1513. /*FI]*/
  1514. }
  1515. /*No:PROC_CALL_N.arg_count*/
  1516. /*No:PROC_CALL_N.call_proc_call_c2jvm*/
  1517.  
  1518.  
  1519. void r168with(T168* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1520. C->_target=a1;
  1521. C->_feature_name=a2;
  1522. C->_arguments=a3;
  1523. C->_run_feature=a4;
  1524. r168run_feature_match(C,a5);
  1525. }
  1526. /*No:PROC_CALL_N.fatal_error*/
  1527. /*No:TYPE_EXPANDED.start_position*/
  1528.  
  1529.  
  1530. void r279jvm_initialize_local(T279* C,T2 a1){
  1531. T0* _rt=NULL;
  1532. _rt=(C)->_run_type/*20*/;
  1533. /*[IF*/
  1534. if(X52is_basic_eiffel_expanded(_rt)){
  1535. X52jvm_initialize_local(_rt,a1);
  1536. }
  1537. else{
  1538. r23jvm_expanded_push_default((T23*)(r279run_class(C)));
  1539. r279jvm_write_local(C,a1);
  1540. }
  1541. /*FI]*/
  1542. }
  1543.  
  1544.  
  1545. void r279used_as_reference(T279* C){
  1546. /*[IF*/
  1547. if(X52is_expanded((C)->_mapped/*12*/)){
  1548. r23used_as_reference((T23*)(r279run_class(C)));
  1549. }
  1550. /*FI]*/
  1551. }
  1552.  
  1553.  
  1554. T6 r279is_user_expanded(T279* C){
  1555. T6 R=0;
  1556. /*[IF*/
  1557. if(X52is_basic_eiffel_expanded((C)->_mapped/*12*/)){
  1558. }
  1559. else{
  1560. R=1;
  1561. }
  1562. /*FI]*/
  1563. return R;
  1564. }
  1565.  
  1566.  
  1567. T2 r279id(T279* C){
  1568. T2 R=0;
  1569. R=((T23*)(r279run_class(C)))->_id/*4*/;
  1570. return R;
  1571. }
  1572.  
  1573.  
  1574. T6 r279is_pointer(T279* C){
  1575. T6 R=0;
  1576. R=X52is_pointer((C)->_mapped/*12*/);
  1577. return R;
  1578. }
  1579. /*No:TYPE_EXPANDED.jvm_check_class_invariant*/
  1580.  
  1581.  
  1582. T0* r279to_runnable(T279* C,T0* a1){
  1583. T0* R=NULL;
  1584. T0* _m=NULL;
  1585. /*[IF*/
  1586. if(((C)->_run_type/*20*/)==((void*)(C))){
  1587. R=(T0*)C;
  1588. }
  1589.  else if(((C)->_run_type/*20*/)==((void*)((C)->_mapped/*12*/))){
  1590. R=(T0*)C;
  1591. }
  1592. else{
  1593. _m=X52to_runnable((C)->_mapped/*12*/,a1);
  1594. /*[IF*/
  1595. if((_m)==((void*)(NULL))){
  1596. r21add_position((C)->_start_position/*4*/);
  1597. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms279_42042);
  1598. r21fatal_error((T21*)(oBC12eh),b1);
  1599. }/*]*/
  1600. }
  1601. /*FI]*/
  1602. /*[IF*/
  1603. if(((C)->_run_type/*20*/)!=((void*)(NULL))){
  1604. {T279*n=malloc(sizeof(*n));
  1605. *n=M279;
  1606. r279from_other(n,(T0*)C,X52run_type(_m));
  1607. R=(T0*)n;
  1608. }
  1609. }
  1610.  else if(X52is_expanded(_m)){
  1611. C->_run_type=_m;
  1612. C->_run_time_mark=X52run_time_mark(_m);
  1613. R=(T0*)C;
  1614. }
  1615.  else if(((C)->_mapped/*12*/)==((void*)(X52run_type(_m)))){
  1616. C->_run_time_mark=r279compute_mark(X52run_time_mark(_m));
  1617. C->_run_type=(T0*)C;
  1618. R=(T0*)C;
  1619. }
  1620. else{
  1621. C->_run_time_mark=r279compute_mark(X52run_time_mark(_m));
  1622. {T279*n=malloc(sizeof(*n));
  1623. *n=M279;
  1624. r279from_other(n,(T0*)C,X52run_type(_m));
  1625. C->_run_type=(T0*)n;
  1626. }
  1627. R=(T0*)C;
  1628. }
  1629. /*FI]*/
  1630. r23set_at_run_time((T23*)(X52run_class((C)->_mapped/*12*/)));
  1631. r23set_at_run_time((T23*)(X52run_class((((T279*)R))->_run_type/*20*/)));
  1632. }
  1633. /*FI]*/
  1634. return R;
  1635. }
  1636.  
  1637.  
  1638. T0* r279run_class(T279* C){
  1639. T0* R=NULL;
  1640. R=r22run_class((C)->_run_type/*20*/);
  1641. return R;
  1642. }
  1643.  
  1644.  
  1645. void r279standard_jvm_check_class_invariant(T279* C){
  1646. /*[IF*/
  1647. if(r76invariant_check((T76*)(oBC12run_control))){
  1648. r23jvm_check_class_invariant((T23*)(r279run_class(C)));
  1649. }
  1650. /*FI]*/
  1651. }
  1652. /*No:TYPE_EXPANDED.is_like_current*/
  1653.  
  1654.  
  1655. T6 r279is_bit(T279* C){
  1656. T6 R=0;
  1657. R=X52is_bit((C)->_mapped/*12*/);
  1658. return R;
  1659. }
  1660.  
  1661.  
  1662. void r279jvm_write_local(T279* C,T2 a1){
  1663. T0* _rt=NULL;
  1664. _rt=(C)->_run_type/*20*/;
  1665. /*[IF*/
  1666. if(X52is_basic_eiffel_expanded(_rt)){
  1667. X52jvm_write_local(_rt,a1);
  1668. }
  1669. else{
  1670. r28opcode_astore((T28*)(oBC12code_attribute),a1);
  1671. }
  1672. /*FI]*/
  1673. }
  1674.  
  1675.  
  1676. T0* r279smallest_ancestor(T279* C,T0* a1){
  1677. T0* R=NULL;
  1678. /*[IF*/
  1679. if(((C)->_run_time_mark/*16*/)==((void*)(X52run_time_mark(a1)))){
  1680. R=(C)->_run_type/*20*/;
  1681. }
  1682. else{
  1683. R=X52run_type(X52smallest_ancestor((C)->_mapped/*12*/,a1));
  1684. }
  1685. /*FI]*/
  1686. return R;
  1687. }
  1688. /*No:TYPE_EXPANDED.fatal_error*/
  1689. /*No:TYPE_EXPANDED.run_time_mark*/
  1690. /*No:TYPE_EXPANDED.is_expanded*/
  1691. /*No:TYPE_EXPANDED.jvm_if_x_eq*/
  1692.  
  1693.  
  1694. void r279jvm_xnewarray(T279* C){
  1695. T0* _rt=NULL;
  1696. T2 _idx=0;
  1697. _rt=(C)->_run_type/*20*/;
  1698. /*[IF*/
  1699. if(X52is_basic_eiffel_expanded(_rt)){
  1700. X52jvm_xnewarray(_rt);
  1701. }
  1702. else{
  1703. _idx=r23jvm_constant_pool_index((T23*)(r279run_class(C)));
  1704. r28opcode_anewarray((T28*)(oBC12code_attribute),_idx);
  1705. }
  1706. /*FI]*/
  1707. }
  1708. /*No:TYPE_EXPANDED.jvm_push_local*/
  1709. /*No:TYPE_EXPANDED.fz_dot*/
  1710. /*No:TYPE_EXPANDED.is_like_feature*/
  1711.  
  1712.  
  1713. T6 r279is_a(T279* C,T0* a1){
  1714. T6 R=0;
  1715. R=X52is_a((C)->_mapped/*12*/,a1);
  1716. /*[IF*/
  1717. if(!(R)){
  1718. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
  1719. /*]*/
  1720. /*[IRF3.3clear*/((((T58*)((T58*)(oBC21positions))))->_upper)=(-(1));
  1721. /*]*/
  1722. /*]*/
  1723. r21add_type((T0*)C,((T0*)ms13_17730));
  1724. r21add_type(a1,((T0*)ms13_47));
  1725. }
  1726. /*FI]*/
  1727. return R;
  1728. }
  1729. /*No:TYPE_EXPANDED.written_mark*/
  1730.  
  1731.  
  1732. T6 r279is_character(T279* C){
  1733. T6 R=0;
  1734. R=X52is_character((C)->_mapped/*12*/);
  1735. return R;
  1736. }
  1737. /*No:TYPE_EXPANDED.fz_expanded*/
  1738.  
  1739.  
  1740. void r279make(T279* C,T0* a1,T0* a2){
  1741. C->_start_position=a1;
  1742. C->_mapped=a2;
  1743. C->_written_mark=r279compute_mark(X52written_mark((C)->_mapped/*12*/));
  1744. }
  1745.  
  1746.  
  1747. T2 r279jvm_convert_to(T279* C,T0* a1){
  1748. T2 R=0;
  1749. /*[IF*/
  1750. if(X52is_reference(a1)){
  1751. r279jvm_to_reference(C);
  1752. }
  1753. /*FI]*/
  1754. R=1;
  1755. return R;
  1756. }
  1757. /*No:TYPE_EXPANDED.is_array*/
  1758.  
  1759.  
  1760. T2 r279jvm_push_default(T279* C){
  1761. T2 R=0;
  1762. T0* _rt=NULL;
  1763. _rt=(C)->_run_type/*20*/;
  1764. /*[IF*/
  1765. if(X52is_basic_eiffel_expanded(_rt)){
  1766. R=r279jvm_push_default(C);
  1767. }
  1768. else{
  1769. r23jvm_expanded_push_default((T23*)(r279run_class(C)));
  1770. R=1;
  1771. }
  1772. /*FI]*/
  1773. return R;
  1774. }
  1775.  
  1776.  
  1777. T6 r279is_dummy_expanded(T279* C){
  1778. T6 R=0;
  1779. /*[IF*/
  1780. if(r279is_user_expanded(C)){
  1781. R=(r23writable_attributes((T23*)(r279run_class(C))))==((void*)(NULL));
  1782. }
  1783. /*FI]*/
  1784. return R;
  1785. }
  1786.  
  1787.  
  1788. T0* r279generic_list(T279* C){
  1789. T0* R=NULL;
  1790. R=X52generic_list((C)->_mapped/*12*/);
  1791. return R;
  1792. }
  1793.  
  1794.  
  1795. T0* r279base_class(T279* C){
  1796. T0* R=NULL;
  1797. T0* _bcn=NULL;
  1798. _bcn=r279base_class_name(C);
  1799. /*[IF*/
  1800. if((_bcn)!=((void*)(NULL))){
  1801. R=r70base_class(((T70*)_bcn));
  1802. }
  1803. else{
  1804. /*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
  1805. r7append((T7*)(oBC21explanation),b1);
  1806. }/*]*/
  1807. r21add_type((T0*)C,((T0*)ms13_47));
  1808. r21print_as_fatal_error((T21*)(oBC12eh));
  1809. }
  1810. /*FI]*/
  1811. return R;
  1812. }
  1813. /*No:TYPE_EXPANDED.jvm_if_x_ne*/
  1814.  
  1815.  
  1816. T0* r279base_class_name(T279* C){
  1817. T0* R=NULL;
  1818. R=X52base_class_name((C)->_mapped/*12*/);
  1819. return R;
  1820. }
  1821.  
  1822.  
  1823. void r279jvm_standard_is_equal(T279* C){
  1824. T0* _wa=NULL;
  1825. T0* _rc=NULL;
  1826. _rc=r279run_class(C);
  1827. _wa=r23writable_attributes(((T23*)_rc));
  1828. r24std_is_equal(_rc,_wa);
  1829. }
  1830. /*No:TYPE_EXPANDED.is_formal_generic*/
  1831.  
  1832.  
  1833. T6 r279is_a_in(T279* C,T0* a1,T0* a2){
  1834. T6 R=0;
  1835. T0* _ct=NULL;
  1836. T0* _t2=NULL;
  1837. T0* _t1=NULL;
  1838. /*[IF*/
  1839. if(((C)->_written_mark/*8*/)==((void*)(X52written_mark(a1)))){
  1840. R=1;
  1841. }
  1842. else{
  1843. _ct=(((T23*)a2))->_current_type/*0*/;
  1844. _t1=r279to_runnable(C,_ct);
  1845. _t2=X52to_runnable(a1,_ct);
  1846. /*[IF*/
  1847. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1848. R=1;
  1849. }
  1850. else{
  1851. R=X52is_a(_t1,_t2);
  1852. }
  1853. /*FI]*/
  1854. }
  1855. /*FI]*/
  1856. return R;
  1857. }
  1858.  
  1859.  
  1860. T0* r279look_up_for(T279* C,T0* a1,T0* a2){
  1861. T0* R=NULL;
  1862. R=r63look_up_for((T63*)(r279base_class(C)),a1,a2);
  1863. return R;
  1864. }
  1865.  
  1866.  
  1867. void r279jvm_to_reference(T279* C){
  1868. T0* _wa=NULL;
  1869. /*[IF*/
  1870. if(X52is_expanded((C)->_mapped/*12*/)){
  1871. r23jvm_to_reference((T23*)(r279run_class(C)));
  1872. }
  1873. else{
  1874. r23jvm_basic_new((T23*)(X52run_class((C)->_mapped/*12*/)));
  1875. _wa=r23writable_attributes((T23*)(r279run_class(C)));
  1876. /*[IRF3.4opcode_swap*/r28opcode((T28*)(oBC12code_attribute),95,0);
  1877. /*]*/
  1878. r24fields_by_fields_copy(_wa);
  1879. }
  1880. /*FI]*/
  1881. }
  1882. /*No:TYPE_EXPANDED.run_type*/
  1883.  
  1884.  
  1885. T0* r279expanded_initializer(T279* C){
  1886. T0* R=NULL;
  1887. R=r63expanded_initializer((T63*)(r279base_class(C)),(T0*)C);
  1888. return R;
  1889. }
  1890.  
  1891.  
  1892. T6 r279has_creation(T279* C,T0* a1){
  1893. T6 R=0;
  1894. R=r63has_creation((T63*)(r279base_class(C)),a1);
  1895. return R;
  1896. }
  1897. /*No:TYPE_EXPANDED.jvm_method_flags*/
  1898.  
  1899.  
  1900. T6 r279is_boolean(T279* C){
  1901. T6 R=0;
  1902. R=X52is_boolean((C)->_mapped/*12*/);
  1903. return R;
  1904. }
  1905.  
  1906.  
  1907. T6 r279is_generic(T279* C){
  1908. T6 R=0;
  1909. R=X52is_generic((C)->_mapped/*12*/);
  1910. return R;
  1911. }
  1912. /*No:TYPE_EXPANDED.jvm_xaload*/
  1913.  
  1914.  
  1915. T6 r279is_real(T279* C){
  1916. T6 R=0;
  1917. R=X52is_real((C)->_mapped/*12*/);
  1918. return R;
  1919. }
  1920.  
  1921.  
  1922. T0* r279compute_mark(T0* a1){
  1923. T0* R=NULL;
  1924. r7copy((T7*)(oBC279tmp_written_mark),((T0*)ms13_10840));
  1925. r7extend((T7*)(oBC279tmp_written_mark),'\40');
  1926. r7append((T7*)(oBC279tmp_written_mark),a1);
  1927. R=r86item(oBC279tmp_written_mark);
  1928. return R;
  1929. }
  1930. /*No:TYPE_EXPANDED.is_any*/
  1931.  
  1932.  
  1933. T6 r279is_basic_eiffel_expanded(T279* C){
  1934. T6 R=0;
  1935. /*[IF*/
  1936. if(((C)->_run_type/*20*/)==((void*)((C)->_mapped/*12*/))){
  1937. R=X52is_basic_eiffel_expanded((C)->_mapped/*12*/);
  1938. }
  1939. /*FI]*/
  1940. return R;
  1941. }
  1942. /*No:TYPE_EXPANDED.jvm_descriptor_in*/
  1943. /*No:TYPE_EXPANDED.is_string*/
  1944.  
  1945.  
  1946. T6 r279is_native_array(T279* C){
  1947. T6 R=0;
  1948. T0* _tna=NULL;
  1949. _tna=(T0*)C;
  1950. if(NULL!=(_tna))switch(((T0*)_tna)->id) {
  1951. case 267: 
  1952. break;
  1953. default:
  1954. _tna=NULL;
  1955. };R=(_tna)!=((void*)(NULL));
  1956. return R;
  1957. }
  1958.  
  1959.  
  1960. T6 r279is_integer(T279* C){
  1961. T6 R=0;
  1962. R=X52is_integer((C)->_mapped/*12*/);
  1963. return R;
  1964. }
  1965. /*No:TYPE_EXPANDED.is_anchored*/
  1966. /*No:TYPE_EXPANDED.is_run_type*/
  1967.  
  1968.  
  1969. void r279from_other(T279* C,T0* a1,T0* a2){
  1970. C->_start_position=(((T279*)a1))->_start_position/*4*/;
  1971. C->_written_mark=(((T279*)a1))->_written_mark/*8*/;
  1972. C->_mapped=a2;
  1973. /*[IF*/
  1974. if(X52is_expanded((C)->_mapped/*12*/)){
  1975. C->_run_time_mark=X52run_time_mark((C)->_mapped/*12*/);
  1976. C->_run_type=(C)->_mapped/*12*/;
  1977. }
  1978. else{
  1979. C->_run_time_mark=r279compute_mark(X52run_time_mark((C)->_mapped/*12*/));
  1980. C->_run_type=(T0*)C;
  1981. }
  1982. /*FI]*/
  1983. }
  1984. /*No:TYPE_EXPANDED.mapped*/
  1985. /*No:TYPE_EXPANDED.is_reference*/
  1986. T0*oBC279tmp_written_mark=NULL;
  1987. /*No:TYPE_EXPANDED.is_none*/
  1988. /*No:TYPE_EXPANDED.jvm_return_code*/
  1989. /*No:TYPE_EXPANDED.jvm_target_descriptor_in*/
  1990. /*No:TYPE_EXPANDED.fz_inako*/
  1991. /*No:TYPE_EXPANDED.jvm_xastore*/
  1992. /*No:TYPE_EXPANDED.is_like_argument*/
  1993.  
  1994.  
  1995. T2 r279jvm_stack_space(T279* C){
  1996. T2 R=0;
  1997. /*[IF*/
  1998. if(r279is_double(C)){
  1999. R=2;
  2000. }
  2001. else{
  2002. R=1;
  2003. }
  2004. /*FI]*/
  2005. return R;
  2006. }
  2007.  
  2008.  
  2009. T6 r279is_double(T279* C){
  2010. T6 R=0;
  2011. R=X52is_double((C)->_mapped/*12*/);
  2012. return R;
  2013. }
  2014.  
  2015.  
  2016. T2 r279jvm_expanded_from_reference(T0* a1){
  2017. T2 R=0;
  2018. return R;
  2019. }
  2020.  
  2021.  
  2022. T2 r148static_value(T148* C){
  2023. T2 R=0;
  2024. /*[IF*/
  2025. if(X52is_boolean(X109result_type((C)->_target/*4*/))){
  2026. /*[IF*/
  2027. if(X109is_static((C)->_target/*4*/)){
  2028. /*[IF*/
  2029. if((X109static_value((C)->_target/*4*/))==(0)){
  2030. R=1;
  2031. }
  2032. /*FI]*/
  2033. }
  2034. /*FI]*/
  2035. }
  2036. /*FI]*/
  2037. return R;
  2038. }
  2039. /*No:CALL_PREFIX_NOT.feature_name*/
  2040.  
  2041.  
  2042. T6 r148is_static(T148* C){
  2043. T6 R=0;
  2044. /*[IF*/
  2045. if(X52is_boolean(X109result_type((C)->_target/*4*/))){
  2046. /*[IF*/
  2047. if(X109is_static((C)->_target/*4*/)){
  2048. R=1;
  2049. }
  2050. /*FI]*/
  2051. }
  2052. /*FI]*/
  2053. return R;
  2054. }
  2055. /*No:CALL_PREFIX_NOT.is_manifest_string*/
  2056.  
  2057.  
  2058. T0* r148start_position(T148* C){
  2059. T0* R=NULL;
  2060. R=((T145*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  2061. return R;
  2062. }
  2063.  
  2064.  
  2065. T0* r148add_comment(T148* C,T0* a1){
  2066. T0* R=NULL;
  2067. /*[IF*/
  2068. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
  2069. R=(T0*)C;
  2070. }
  2071. else{
  2072. {T234*n=malloc(sizeof(*n));
  2073. *n=M234;
  2074. r234make(n,(T0*)C,a1);
  2075. R=(T0*)n;
  2076. }
  2077. }
  2078. /*FI]*/
  2079. return R;
  2080. }
  2081.  
  2082.  
  2083. T2 r148to_integer(T148* C){
  2084. T2 R=0;
  2085. T0* _rf1=NULL;
  2086. _rf1=(C)->_run_feature/*8*/;
  2087. if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
  2088. case 372: 
  2089. break;
  2090. default:
  2091. _rf1=NULL;
  2092. };/*[IF*/
  2093. if((_rf1)==((void*)(NULL))){
  2094. r148error(r148start_position(C),((T0*)ms13_45846));
  2095. }
  2096. else{
  2097. R=X109to_integer((((T372*)_rf1))->_value/*36*/);
  2098. }
  2099. /*FI]*/
  2100. return R;
  2101. }
  2102.  
  2103.